[INFO] cloning repository https://github.com/ethanmott/aoc-2020
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ethanmott/aoc-2020" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethanmott%2Faoc-2020", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethanmott%2Faoc-2020'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5a7cba076da134f23c74e107631f601a53ee4f2
[INFO] checking ethanmott/aoc-2020 against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fethanmott%2Faoc-2020" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ethanmott/aoc-2020
[INFO] finished tweaking git repo https://github.com/ethanmott/aoc-2020
[INFO] tweaked toml for git repo https://github.com/ethanmott/aoc-2020 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ethanmott/aoc-2020 on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ethanmott/aoc-2020 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thread_local v1.0.1
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded parse-display v0.4.0
[INFO] [stderr]   Downloaded unicode-xid v0.2.1
[INFO] [stderr]   Downloaded parse-display-derive v0.4.0
[INFO] [stderr]   Downloaded quote v1.0.7
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded itertools v0.9.0
[INFO] [stderr]   Downloaded aho-corasick v0.7.15
[INFO] [stderr]   Downloaded regex-syntax v0.6.21
[INFO] [stderr]   Downloaded regex v1.4.2
[INFO] [stderr]   Downloaded syn v1.0.54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb
[INFO] running `Command { std: "docker" "start" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.54
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking day10 v0.1.0 (/opt/rustwide/workdir/day10)
[INFO] [stderr]     Checking day19 v0.1.0 (/opt/rustwide/workdir/day19)
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stdout] warning: the feature `str_split_once` has been stable since 1.52.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> day19/src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(str_split_once)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day11 v0.1.0 (/opt/rustwide/workdir/day11)
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking day12 v0.1.0 (/opt/rustwide/workdir/day12)
[INFO] [stderr]     Checking day05 v0.1.0 (/opt/rustwide/workdir/day05)
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> day12/src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |             _ => panic!(format!("Invalid action: {}", s)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 104 -             _ => panic!(format!("Invalid action: {}", s)),
[INFO] [stdout] 104 +             _ => panic!("Invalid action: {}", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day15 v0.1.0 (/opt/rustwide/workdir/day15)
[INFO] [stderr]     Checking day14 v0.1.0 (/opt/rustwide/workdir/day14)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> day14/src/main.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     x => panic!(format!("Invalid mask character: {}", x))
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 105 -                     x => panic!(format!("Invalid mask character: {}", x))
[INFO] [stdout] 105 +                     x => panic!("Invalid mask character: {}", x)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day17 v0.1.0 (/opt/rustwide/workdir/day17)
[INFO] [stderr]     Checking day13 v0.1.0 (/opt/rustwide/workdir/day13)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> day14/src/main.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     x => panic!(format!("Invalid mask character: {}", x))
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 105 -                     x => panic!(format!("Invalid mask character: {}", x))
[INFO] [stdout] 105 +                     x => panic!("Invalid mask character: {}", x)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `str_split_once` has been stable since 1.52.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> day19/src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(str_split_once)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day08 v0.1.0 (/opt/rustwide/workdir/day08)
[INFO] [stderr]     Checking day09 v0.1.0 (/opt/rustwide/workdir/day09)
[INFO] [stderr]     Checking day01 v0.1.0 (/opt/rustwide/workdir/day01)
[INFO] [stderr]     Checking day18 v0.1.0 (/opt/rustwide/workdir/day18)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> day12/src/main.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |             _ => panic!(format!("Invalid action: {}", s)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 104 -             _ => panic!(format!("Invalid action: {}", s)),
[INFO] [stdout] 104 +             _ => panic!("Invalid action: {}", s),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> day18/src/main.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |         x => panic!(format!("Invalid operator: {}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 82 -         x => panic!(format!("Invalid operator: {}", x)),
[INFO] [stdout] 82 +         x => panic!("Invalid operator: {}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> day18/src/main.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |         x => panic!(format!("Invalid operator: {}", x)),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]    |
[INFO] [stdout] 82 -         x => panic!(format!("Invalid operator: {}", x)),
[INFO] [stdout] 82 +         x => panic!("Invalid operator: {}", x),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]     Checking day02 v0.1.0 (/opt/rustwide/workdir/day02)
[INFO] [stderr]     Checking day04 v0.1.0 (/opt/rustwide/workdir/day04)
[INFO] [stderr]     Checking day06 v0.1.0 (/opt/rustwide/workdir/day06)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> day04/src/main.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn passport_from_str(s: &str) -> Passport {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn passport_from_str(s: &str) -> Passport<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking day07 v0.1.0 (/opt/rustwide/workdir/day07)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> day04/src/main.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn passport_from_str(s: &str) -> Passport {
[INFO] [stdout]    |                         ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn passport_from_str(s: &str) -> Passport<'_> {
[INFO] [stdout]    |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling parse-display-derive v0.4.0
[INFO] [stderr]     Checking parse-display v0.4.0
[INFO] [stderr]     Checking day16 v0.1.0 (/opt/rustwide/workdir/day16)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: parse-display-derive v0.4.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb", kill_on_drop: false }`
[INFO] [stdout] 8e5ca7e078af660974ef609a45717131e975c5da504b6f9bae8577e9a26343eb
